package com.obelisco.vista.seguridad;

import java.util.List;
import java.util.ResourceBundle;

import com.obelisco.modelo.data.Usuario;
import com.obelisco.modelo.servicios.seguridad.IServicioDatosUsuario;
import com.obelisco.vista.componentes.ComponenteDatosListener;
import com.obelisco.vista.componentes.TipoFuncion;
import com.obelisco.vista.controles.PasswordField;

import echopointng.ContentPaneEx;

import nextapp.echo2.app.Column;
import nextapp.echo2.app.ContentPane;
import nextapp.echo2.app.Grid;
import nextapp.echo2.app.Label;
import nextapp.echo2.extras.app.layout.TabPaneLayoutData;

public class PaneCambiarContrasena extends ContentPaneEx implements
		ComponenteDatosListener {

	private ResourceBundle resourceBundle;
	
	private Label lblUsuario;

	private PasswordField txtAnterior;

	private PasswordField txtRepetir;

	private PasswordField txtNueva;

	private IServicioDatosUsuario servicioDatosUsuario;

	private Usuario usuario;

	/**
	 * Creates a new <code>PaneCambiarContrasena</code>.
	 */
	public PaneCambiarContrasena() {
		super();

		// Add design-time configured components.
		initComponents();
	}

	/**
	 * Configures initial state of component. WARNING: AUTO-GENERATED METHOD.
	 * Contents will be overwritten.
	 */
	private void initComponents() {
		Column column = new Column();
		/*
		TabPaneLayoutData columnLayoutData = new TabPaneLayoutData();
		columnLayoutData.setTitle("Datos Generales");
		column.setLayoutData(columnLayoutData);
		*/	
		this.add(column);
		
		Grid grid1 = new Grid();
		grid1.setStyleName("Obelisco.GridPaneDialogo");
		column.add(grid1);

		Label label11 = new Label();
		label11.setText("Usuario");
		grid1.add(label11);
		lblUsuario = new Label();
		grid1.add(lblUsuario);
		
		Label label1 = new Label();
		label1.setText("Contrasena Anterior");
		grid1.add(label1);
		txtAnterior = new PasswordField(200);
		grid1.add(txtAnterior);
		Label label2 = new Label();
		label2.setText("Nueva Contrasena");
		grid1.add(label2);
		txtNueva = new PasswordField(200);
		grid1.add(txtNueva);
		Label label3 = new Label();
		label3.setText("Repetir Contrasena");
		grid1.add(label3);
		txtRepetir = new PasswordField(200);
		grid1.add(txtRepetir);
	}

	public IServicioDatosUsuario getServicioDatosUsuario() {
		return servicioDatosUsuario;
	}

	public void setServicioDatosUsuario(
			IServicioDatosUsuario servicioDatosUsuario) {
		this.servicioDatosUsuario = servicioDatosUsuario;
	}

	public void onCancelar() {
		// TODO Auto-generated method stub
	}

	public void onConfirmarCambios(Object objeto, TipoFuncion tipo,
			String nombre) {
		// TODO Auto-generated method stub
		servicioDatosUsuario.cambiarContrasena(usuario.getLogin(), txtAnterior.getText(), txtNueva.getText(), txtRepetir.getText());
	}

	public void onConfirmarEliminacion(Object object) {
		// TODO Auto-generated method stub
	}

	public void onConsultar(Object objeto) {
		// TODO Auto-generated method stub

	}

	public void onCrear() {
		// TODO Auto-generated method stub

	}

	public void onFuncionPersonalizada(Object objeto, TipoFuncion funcion,
			String nombre) {
		// TODO Auto-generated method stub

	}

	public void onIncluir(Object objeto) {
		// TODO Auto-generated method stub

	}

	public void onInicializar() {
		// TODO Auto-generated method stub}
		lblUsuario.setText(usuario.getLogin());
	}

	public void onModificar(Object objeto) {
		// TODO Auto-generated method stub

	}

	public void onObjetoEntidad(Object objeto) {
		// TODO Auto-generated method stub
		this.usuario = servicioDatosUsuario.buscarUsuario(((Usuario) objeto).getLogin());
		//this.usuario = (Usuario) objeto;
	}

	public boolean onValidarDatos(Object objeto, TipoFuncion tipo, String nombre) {
		// TODO Auto-generated method stub
		return true;
	}

	public void onListaParametros(List arg0) {
		// TODO Auto-generated method stub
		
	}
}
